package com.qingcheng.service;
import com.qingcheng.entity.PageResult;
import com.qingcheng.pojo.goods.Sku;
import com.qingcheng.pojo.goods.SkuPandect;
import com.qingcheng.pojo.goods.Spu;
import com.qingcheng.pojo.order.OrderItem;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * sku业务逻辑层
 */
public interface SkuService {


    public List<Sku> findAll();


    public PageResult<Sku> findPage(int page, int size);


    public List<Sku> findList(Map<String,Object> searchMap);


    public PageResult<Sku> findPage(Map<String,Object> searchMap,int page, int size);


    public Sku findById(String id);

    /**
     * 商品新增广播通知
     * @param sku
     */
    public void add(Sku sku);


    public void update(Sku sku);


    /**
     * 商品删除广播通知
     * @param id
     */
    public void delete(String id);

    public SkuPandect findSum();

    /**
     * 商品下架广播通知
     */
    public void isDelete(String id);

    /**
     * 批量扣减库存
     * @param orderItemList
     */
    public boolean deductionStock(List<OrderItem> orderItemList);


    /**
     * 修改商品状态为正常上架时,插入elasticsearch
     */
    public void isUpdate(String id);

    List<Sku> searchGoodsByGoodname(String name);
}
